

#include <iostream>
#include <vector>
#include <string>
using namespace std;
// 定义一个N叉树.
class Node
{
public:
    int val;
    vector<Node *> children;

    Node() {}

    Node(int _val)
    {
        val = _val;
    }

    Node(int _val, vector<Node *> _children)
    {
        val = _val;
        children = _children;
    }
};
class Solution
{
public:
    vector<int> ans;
    vector<int> preorder(Node *root)
    {
        if (root == NULL)
            return {};
        ans.push_back(root->val); //保存数据
        for (int i = 0; i < root->children.size(); i++)
        {
            //前序遍历
            preorder(root->children[i]);
        }
        return ans;
    }
};
int main()
{
    Solution *s = new Solution();
    vector<int> ans;
    ans = s->preorder(new Node);
    for (int i = 0; i < ans.size(); i++)
    {
        cout << ans[i] << endl;
    }
    return 0;
}